package com.ruoyi.mes.domain;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 生产任务管理对象 mes_tasks
 * 
 * @author ruoyi
 * @date 2021-12-07
 */
public class MesTasks extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String taskUuid;

    /** 生产计划UUID */
    @Excel(name = "生产计划UUID")
    private String fkErpPsUuid;

    /** 数量（根据订单数量及生产情况人为确定） */
    @Excel(name = "数量", readConverterExp = "根=据订单数量及生产情况人为确定")
    private BigDecimal taskQty;

    /** 计量单位 */
    @Excel(name = "计量单位")
    private String wmsDictMeasuringUnit;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDtStart;

    /** 结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDtEnd;

    /** 工艺编号 */
    @Excel(name = "工艺编号")
    private String processDocNum;

    /** 工艺员 */
    @Excel(name = "工艺员")
    private String processNickName;

    /** 图纸号 */
    @Excel(name = "图纸号")
    private String drawNum;

    /** 定额时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "定额时间")
    private Date quotaDt;

    /** 定额级别 */
    @Excel(name = "定额级别")
    private String mesDictQuotaLevel;

    /** 单位时长 */
    @Excel(name = "单位时长")
    private String quotaPerMinutes;

    /** 总时长 */
    @Excel(name = "总时长")
    private String quotaTotalMinutes;

    /** 经办人 */
    @Excel(name = "经办人")
    private String taskNickName;

    /** 审核人 */
    @Excel(name = "审核人")
    private String confirmNickName;

    /** 计划日期 */
    @Excel(name = "计划日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dtStart;

    /** 完成日期 */
    @Excel(name = "完成日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date dtFinish;

    private String dtDocStartBegin;

    private String dtDocStartEnd;

    private String dtDocFinishBegin;

    private String dtDocFinishEnd;

    private String fkMesProcessUuid;

    private String execDocNum;
    private String processExecUuid;
    private String parentUuid;
    private String itemSpecification;
    private Long fkDeptId;

    /** 计划编号 */
    @Excel(name = "计划编号")
    private String planDocNum;
    private String erpPsUuid;

    /** 计划数量 */
    @Excel(name = "计划数量")
    private BigDecimal psQty;
    private String deptName;

    public String getItemSpecification() {
        return itemSpecification;
    }

    public void setItemSpecification(String itemSpecification) {
        this.itemSpecification = itemSpecification;
    }

    public String getParentUuid() {
        return parentUuid;
    }

    public void setParentUuid(String parentUuid) {
        this.parentUuid = parentUuid;
    }

    public String getProcessExecUuid() {
        return processExecUuid;
    }

    public void setProcessExecUuid(String processExecUuid) {
        this.processExecUuid = processExecUuid;
    }

    public String getExecDocNum() {
        return execDocNum;
    }

    public void setExecDocNum(String execDocNum) {
        this.execDocNum = execDocNum;
    }

    public String getFkMesProcessUuid() {
        return fkMesProcessUuid;
    }

    public void setFkMesProcessUuid(String fkMesProcessUuid) {
        this.fkMesProcessUuid = fkMesProcessUuid;
    }

    public String getDeptName() {
        return deptName;
    }

    public void setDeptName(String deptName) {
        this.deptName = deptName;
    }

    public String getErpPsUuid() {
        return erpPsUuid;
    }

    public void setErpPsUuid(String erpPsUuid) {
        this.erpPsUuid = erpPsUuid;
    }

    public Long getFkDeptId() {
        return fkDeptId;
    }

    public void setFkDeptId(Long fkDeptId) {
        this.fkDeptId = fkDeptId;
    }

    public String getDtDocStartBegin() {
        return dtDocStartBegin;
    }

    public void setDtDocStartBegin(String dtDocStartBegin) {
        this.dtDocStartBegin = dtDocStartBegin;
    }

    public String getDtDocStartEnd() {
        return dtDocStartEnd;
    }

    public void setDtDocStartEnd(String dtDocStartEnd) {
        this.dtDocStartEnd = dtDocStartEnd;
    }

    public String getDtDocFinishBegin() {
        return dtDocFinishBegin;
    }

    public void setDtDocFinishBegin(String dtDocFinishBegin) {
        this.dtDocFinishBegin = dtDocFinishBegin;
    }

    public String getDtDocFinishEnd() {
        return dtDocFinishEnd;
    }

    public void setDtDocFinishEnd(String dtDocFinishEnd) {
        this.dtDocFinishEnd = dtDocFinishEnd;
    }

    public BigDecimal getPsQty() {
        return psQty;
    }

    public void setPsQty(BigDecimal psQty) {
        this.psQty = psQty;
    }

    public Date getDtStart() {
        return dtStart;
    }

    public void setDtStart(Date dtStart) {
        this.dtStart = dtStart;
    }

    public Date getDtFinish() {
        return dtFinish;
    }

    public void setDtFinish(Date dtFinish) {
        this.dtFinish = dtFinish;
    }

    public String getPlanDocNum() {
        return planDocNum;
    }

    public void setPlanDocNum(String planDocNum) {
        this.planDocNum = planDocNum;
    }

    private List<MesTasks> children = new ArrayList<MesTasks>();

    public List<MesTasks> getChildren() {
        return children;
    }

    public void setChildren(List<MesTasks> children) {
        this.children = children;
    }

    public void setTaskUuid(String taskUuid) 
    {
        this.taskUuid = taskUuid;
    }

    public String getTaskUuid() 
    {
        return taskUuid;
    }

    public String getFkErpPsUuid() {
        return fkErpPsUuid;
    }

    public void setFkErpPsUuid(String fkErpPsUuid) {
        this.fkErpPsUuid = fkErpPsUuid;
    }

    public void setTaskQty(BigDecimal taskQty) 
    {
        this.taskQty = taskQty;
    }

    public BigDecimal getTaskQty() 
    {
        return taskQty;
    }
    public void setWmsDictMeasuringUnit(String wmsDictMeasuringUnit) 
    {
        this.wmsDictMeasuringUnit = wmsDictMeasuringUnit;
    }

    public String getWmsDictMeasuringUnit() 
    {
        return wmsDictMeasuringUnit;
    }

    public void setDocDtStart(Date docDtStart) 
    {
        this.docDtStart = docDtStart;
    }

    public Date getDocDtStart() 
    {
        return docDtStart;
    }
    public void setDocDtEnd(Date docDtEnd) 
    {
        this.docDtEnd = docDtEnd;
    }

    public Date getDocDtEnd() 
    {
        return docDtEnd;
    }


    public String getProcessDocNum() {
        return processDocNum;
    }

    public void setProcessDocNum(String processDocNum) {
        this.processDocNum = processDocNum;
    }

    public String getProcessNickName() {
        return processNickName;
    }

    public void setProcessNickName(String processNickName) {
        this.processNickName = processNickName;
    }

    public String getDrawNum() {
        return drawNum;
    }

    public void setDrawNum(String drawNum) {
        this.drawNum = drawNum;
    }

    public Date getQuotaDt() {
        return quotaDt;
    }

    public void setQuotaDt(Date quotaDt) {
        this.quotaDt = quotaDt;
    }

    public String getMesDictQuotaLevel() {
        return mesDictQuotaLevel;
    }

    public void setMesDictQuotaLevel(String mesDictQuotaLevel) {
        this.mesDictQuotaLevel = mesDictQuotaLevel;
    }

    public String getQuotaPerMinutes() {
        return quotaPerMinutes;
    }

    public void setQuotaPerMinutes(String quotaPerMinutes) {
        this.quotaPerMinutes = quotaPerMinutes;
    }

    public String getQuotaTotalMinutes() {
        return quotaTotalMinutes;
    }

    public void setQuotaTotalMinutes(String quotaTotalMinutes) {
        this.quotaTotalMinutes = quotaTotalMinutes;
    }

    public String getTaskNickName() {
        return taskNickName;
    }

    public void setTaskNickName(String taskNickName) {
        this.taskNickName = taskNickName;
    }

    public String getConfirmNickName() {
        return confirmNickName;
    }

    public void setConfirmNickName(String confirmNickName) {
        this.confirmNickName = confirmNickName;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("taskUuid", getTaskUuid())
            .append("fkErpPsUuid", getFkErpPsUuid())
            .append("sysYesNoDone", getSysYesNoDone())
            .append("taskQty", getTaskQty())
            .append("wmsDictMeasuringUnit", getWmsDictMeasuringUnit())
            .append("sysNormalDisable", getSysNormalDisable())
            .append("docTitle", getDocTitle())
            .append("docNum", getDocNum())
            .append("docDtStart", getDocDtStart())
            .append("docDtEnd", getDocDtEnd())
            .append("docNote", getDocNote())
            .append("fkAttentionUserId", getFkAttentionUserId())
            .append("fkConfirmUserId", getFkConfirmUserId())
            .append("confirmDt", getConfirmDt())
            .append("oaDictConfirmStatus", getOaDictConfirmStatus())
            .append("confirmNote", getConfirmNote())
            .append("createBy", getCreateBy())
            .append("createTime", getCreateTime())
            .append("updateBy", getUpdateBy())
            .append("updateTime", getUpdateTime())
            .toString();
    }
}
